package com.sc.nft.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.sc.nft.entity.MallUserPropsRewards;
import com.sc.nft.entity.UserInfo;
import com.sc.nft.entity.vo.UserPropsRewardsSummaryVO;
import com.sc.nft.entity.vo.UserPropsRewardsVO;

import java.util.Date;
import java.util.List;

public interface MallUserPropsRewardsService {

    void updateByUserIdAndPropsIdAndDaoId(MallUserPropsRewards mallUserPropsRewards);

    Page<UserPropsRewardsVO> page(Long daoId, UserInfo user, Page page);

    /**
     * 分页查询用户道具奖励记录
     *
     * @param startTime   开始时间
     * @param endTime     结束时间
     * @param phoneNumber 手机号
     * @param propId      道具ID
     * @param page        分页参数
     * @return 分页结果
     */
    Page<UserPropsRewardsVO> page(Date startTime, Date endTime, String phoneNumber, List<Long> propId, Page page);

    /**
     * 查询用户道具奖励汇总数据
     */
    UserPropsRewardsSummaryVO getSummary(Date startTime, Date endTime, String phoneNumber, List<Long> propIds);

    List<MallUserPropsRewards> selectByLastMinId(Long lastMinId, Integer pageSize, Date startTime);
}
